package com.xli.ui.module.framemodulerole.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xli.ui.module.framemodulerole.entity.FrameModuleRole;
import jakarta.validation.constraints.NotNull;

import java.util.List;

public interface IFrameModuleRoleService extends IService<FrameModuleRole> {

    boolean insert(@NotNull FrameModuleRole frameModuleRole);

    boolean insert(@NotNull Long moduleId, @NotNull List<String> roleIds);

    boolean delete(@NotNull Long id);

    boolean delete(@NotNull Long moduleId, @NotNull List<String> roleIds);

    FrameModuleRole find(@NotNull Long id);

    FrameModuleRole find(@NotNull Long moduleId, @NotNull Long roleId);

    List<FrameModuleRole> findList(@NotNull QueryWrapper<FrameModuleRole> qw);

    long findCount(@NotNull QueryWrapper<FrameModuleRole> qw);

    Page<FrameModuleRole> findList(@NotNull QueryWrapper<FrameModuleRole> qw, @NotNull long current, @NotNull long size);

    List<FrameModuleRole> findModuleRoleListByRoleId(@NotNull Long roleId);

    List<FrameModuleRole> findModuleRoleListByModuleId(@NotNull Long moduleId);

}
